package com.twetec.cms.model.vo.website;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.twetec.cms.model.vo.base.BaseVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

@ApiModel
public class ArticleVO extends BaseVO {

    @ApiModelProperty(value = "文章类型(图文咨询TU_WEN_ZI_XUN,下载文件XIA_ZAI_WEN_JIAN,跳转链接TIAO_ZHUAN_LIAN_JIE,公告咨询GONG_GAO_ZI_XUN)", example = "TU_WEN_ZI_XUN")
    private String type;

    @ApiModelProperty(value = "文章标题", example = "标题")
    private String title;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "归属栏目Id", example = "123456789123456")
    private Long columnId;

    @ApiModelProperty(value = "归属栏目", example = "关于我们")
    private String columnName;

    @ApiModelProperty(value = "发布时间(10位时间戳)", example = "1324567891")
    private Date releaseTime;

    @ApiModelProperty(value = "文章状态(全部ALL,草稿CAO_GAO,待审核DAI_SHEN_HE,待修改DAI_XIU_GAI,已发布YI_FA_BU,已下架YI_XIA_JIA,已过期YI_GUO_QI)", example = "CAO_GAO")
    private String articleStatus;

    @ApiModelProperty(value = "发布渠道(PC,H5,API)", example = "PC")
    private String releaseChannel;

    @ApiModelProperty(value = "更新人姓名", example = "张三")
    private String modifierName;

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public Long getColumnId() {
        return columnId;
    }

    public void setColumnId(Long columnId) {
        this.columnId = columnId;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getColumnName() {
        return columnName;
    }

    public void setColumnName(String columnName) {
        this.columnName = columnName;
    }

    public Date getReleaseTime() {
        return releaseTime;
    }

    public void setReleaseTime(Date releaseTime) {
        this.releaseTime = releaseTime;
    }

    public String getArticleStatus() {
        return articleStatus;
    }

    public void setArticleStatus(String articleStatus) {
        this.articleStatus = articleStatus;
    }

    public String getReleaseChannel() {
        return releaseChannel;
    }

    public void setReleaseChannel(String releaseChannel) {
        this.releaseChannel = releaseChannel;
    }

    public String getModifierName() {
        return modifierName;
    }

    public void setModifierName(String modifierName) {
        this.modifierName = modifierName;
    }

    @Override
    public String toString() {
        return "ArticleVO{" +
                "type='" + type + '\'' +
                ", title='" + title + '\'' +
                ", columnName=" + columnName +
                ", releaseTime=" + releaseTime +
                ", articleStatus='" + articleStatus + '\'' +
                ", releaseChannel='" + releaseChannel + '\'' +
                ", modifierName='" + modifierName + '\'' +
                '}';
    }
}
